@if $use-normalize == true {
  //------------------------------------
  //  NORMALIZE
  //------------------------------------
  html {
    font-size: 100%;
    @include vendor(text-size-adjust, 100%, webkit moz ms o official);
  }

  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  main,
  nav,
  section,
  summary { display: block; }

  audio,
  canvas,
  progress,
  video {
    display: inline-block;
    vertical-align: baseline;
  }

  audio:not([controls]) {
    display: none;
    height: 0;
  }

  [hidden],
  template { display: none; }

  a {
    background: transparent;

    &:focus { outline: thin dotted; }

    &:active,
    &:hover { outline: 0; }
  }

  abbr[title] { border-bottom: 1px dotted; }

  b,
  strong { font-weight: bold; }

  dfn { font-style: italic; }

  mark {
    background: #ff0;
    color: #000;
  }

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }

  sup { top: -0.5em; }

  sub { bottom: -0.25em; }

  img {
    border: 0;
    -ms-interpolation-mode: bicubic;
  }

  svg:not(:root) { overflow: hidden; }

  figure { margin: 1em 40px; }

  hr {
    border: solid #eee;
    border-width: 1px 0 0;
    clear: both;
    height: 0;

    @include vendor(box-sizing, content-box, official);
  }

  pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  code,
  kbd,
  pre,
  samp {
    font-family: monospace, monospace;
    @include font-size($base-font-size);
  }

  q {
    quotes: none;

    &:before,
    &:after {
      content: '';
      content: none;
    }
  }

  form { margin: 0; }

  button,
  input,
  optgroup,
  select,
  textarea {
    color: inherit;
    font: inherit;
    margin: 0;
    vertical-align: baseline;
  }

  button { overflow: visible; }

  button,
  select { text-transform: none; }

  button,
  html input[type="button"],
  input[type="reset"],
  input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
  }

  button[disabled],
  html input[disabled] { cursor: default; }

  button::-moz-focus-inner,
  input::-moz-focus-inner {
    border: 0;
    padding: 0;
  }

  input {
    line-height: normal;

    &[type="checkbox"],
    &[type="radio"] {
      box-sizing: border-box;
      padding: 0;
    }

    &[type="number"] {
      &::-webkit-inner-spin-button,
      &::-webkit-outer-spin-button { height: auto; }
    }

    &[type="search"] {
      -webkit-appearance: textfield;
      @include vendor(box-sizing, content-box, official);

      &::-webkit-search-cancel-button,
      &::-webkit-search-decoration { -webkit-appearance: none; }
    }
  }

  fieldset { margin: 0 2px; }

  legend {
    border: 0;
    padding: 0;
    white-space: normal;
  }

  textarea { overflow: auto; }

  optgroup { font-weight: bold; }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  td,
  th { padding: 0; }
}
